package com.cheer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cheer.dto.OaIntegralDTO;
import com.cheer.entity.OaIntegralEntity;
import com.cheer.enums.OaIntegralRuleEnum;
import com.cheer.vo.*;

import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 积分明细
 *
 * @author cheer
 */
public interface OaIntegralService extends IService<OaIntegralEntity> {

    /**
     * 查询用户积分记录
     */
    OaCreditVO listByUserId(Integer userId);

    /**
     * 查询积分记录
     */
    List<CreditDateVO> listCredit(Integer pageNum, Integer pageSize, Integer userId);

    /**
     * 添加积分
     */
    void add(Integer userId, String openid, OaIntegralRuleEnum integralRuleEnum, Integer itemsId);

    /**
     * 添加积分
     */
    void add(String openid, OaIntegralRuleEnum integralRuleEnum, Integer itemsId, Date date);

    /**
     * 获取用户年度积分
     * @param openid
     * @return
     */
    Integer getByYear(String openid, Integer userId);


    List<AudioVO> getAudio();


    String getAllOrgName(String path);


    List<OaIntegralEntity> listByUserId2(Integer sourceUserId);

    /**
     * 更新年积分缓存
     * @param id
     * @param credit
     */
    void updateYearCatch(Integer id, Integer credit);

    /**
     * 获取用户信息
     * @return
     */
    UserMainVO getUserMainVo(Integer userId, String openId);

    /**
     * 获取最近
     * @param limit
     * @return
     */
    List<OaIntegralDTO> getRecentIntegral(int limit, String openid);

}

